﻿/*
 * Script: "validacion_senal.js"
 * Copyright 2011 SISVOX.
 *
 * Licenciado bajo SISVOX, Version 1.0 (la "Licencia");
 * El codigo presente que compone este Software es propiedad unica y
 * exclusivamente de SISVOX, por lo tanto, usted no podrá utilizar este
 * archivo excepto en cumplimiento de la Licencia ofrecida por SISVOX.
 * Usted puede obtener una copia de la Licencia en:
 *
 *      Soluciones Integrales de Software Vox (SISVOX)
 *                 http://www.sisvox.com
 *
 *     - Carlos Calvo      <ccalvo@sisvox.com>
 *     - Andres Hernandez  <ahernandez@sisvox.com>
 *
 * A menos que sea requerido por la ley aplicable o se acuerde por escrito,
 * el software distribuido bajo la licencia se distribuye "TAL CUAL", CON
 * LAS GARANTIAS Y CONDICIONES expresadas en la "Licencia".
 */
 

// =================================================================================================================
// ===================================== Valida el Tipo de Soporte de una Señal ====================================
// =================================================================================================================

function actualizar_tipo_sop( id_tipo_sen ) {  
	
	if ( id_tipo_sen == 1 || id_tipo_sen == 2 || id_tipo_sen == 3 || id_tipo_sen == 5 || id_tipo_sen == 6 || id_tipo_sen == 7 ) {
		document.getElementById("id_tipo_sop").disabled = false;
    } else {
		document.getElementById("id_tipo_sop").disabled = true;
	}
}


// =================================================================================================================
// ============================================ Registrar una Señal ================================================
// =================================================================================================================

function registrar_senal(form) {
    
	var coord_x 			= document.getElementById("coord_x").value;
	var coord_y 			= document.getElementById("coord_y").value;
	
    var id_tipo_sen 		= document.getElementById("id_tipo_sen").value;
    var id_categ_sen 		= document.getElementById("id_categ_sen").value;
	var id_senal_tra 		= document.getElementById("id_senal_tra").value;
	var id_tipo_sop			= document.getElementById("id_tipo_sop").value;
    var id_estad_sen 		= document.getElementById("id_estad_sen").value;
	var id_status_sen 		= document.getElementById("id_status_sen").value;
	
	var fecha_instalacion 	= document.getElementById("fecha_instalacion").value;
	var estandar 			= document.getElementById("estandar").value;
	
	var h_tipo_image_sen 	= document.getElementById("h_tipo_image_sen").value;
	var h_desc_image_sen 	= document.getElementById("h_desc_image_sen").value;
	
	var cantidad 			= 0;
	var image_sem 			= "";
	
	if ( h_tipo_image_sen == "true" ) {
		// Guardando el Valor de la Imagen asociada a la Señal
		longitud_image_sen = form.id_image_sen.length;
		for ( var i = 0; i < longitud_image_sen; i++ ) {
			if (form.id_image_sen[i].checked == true){
				if ( id_tipo_sen != 9 ) {
					document.getElementById("h_desc_image_sen").value = form.id_image_sen[i].value;
					h_desc_image_sen = form.id_image_sen[i].value;
				} else {
					image_sem = image_sem + form.id_image_sen[i].value + ",";
					cantidad++;
				}
			}
		}
		if ( id_tipo_sen == 9 ) {
			document.getElementById("h_desc_image_sen").value = image_sem;
			h_desc_image_sen = image_sem
		}
	}
	
	if ( id_tipo_sen == 9 ) {
		var id_tipo_pos 	= document.getElementById("id_tipo_pos").value;
    	var nro_postes 		= document.getElementById("nro_postes").value;
		var nro_caras 		= document.getElementById("nro_caras").value;
    	var nro_contadores 	= document.getElementById("nro_contadores").value;
		var id_estad_con 	= document.getElementById("id_estad_con").value;
    	var id_model_con 	= document.getElementById("id_model_con").value;
		var nro_fases 		= document.getElementById("nro_fases").value;
    	var ciclo 			= document.getElementById("ciclo").value;
	}
	
    var id_tipo_via 		= document.getElementById("id_tipo_via").value;
	
	var id_estado 			= document.getElementById("id_estado").value;
	var id_municipio 		= document.getElementById("id_municipio").value;
        
    if ( coord_x == "" ) {
        alert("Debe indicar la Coordenada X o LONGITUD");
    } else if ( coord_y == "" ) {
        alert("Debe indicar la Coordenada Y o LATITUD");
    
	} else if ( id_tipo_sen == "" ) {		
		alert("Debe indicar el Tipo de Señal");
    } else if ( id_categ_sen == "" ) {		
		alert("Debe indicar la Categoría de la Señal");
	} else if ( id_senal_tra == "" ) {
        alert("Debe indicar la Señal de Tránsito");
    } else if ( (id_tipo_sen == 1 || id_tipo_sen == 2 || id_tipo_sen == 3 || id_tipo_sen == 5 || id_tipo_sen == 6 || id_tipo_sen == 7) && id_tipo_sop == "" ) {
        alert("Debe indicar el Tipo de Soporte de la Señal");
   	} else if ( id_estad_sen == "" ) {
        alert("Debe indicar el Estado de la Señal");
    } else if ( id_status_sen == "" ) {
        alert("Debe indicar el Estatus de la Señal");
		
	} else if ( fecha_instalacion == "" ) {
        alert("Debe indicar la Fecha de Instalación de la Señal");
	} else if ( estandar == "" ) {
        alert("Debe indicar si la Señal cumple con los Estándares del Manual Venezolano de Señalización");
		
	} else if ( id_tipo_sen == 9 && id_tipo_pos == "" ) {
        alert("Debe indicar el Tipo de Poste de un Semáforo");
	} else if ( id_tipo_sen == 9 && nro_postes == "" ) {
        alert("Debe indicar el Número de Postes de Semáforo de la Intesección");
	} else if ( id_tipo_sen == 9 && IsNumeric(nro_postes) == "" ) {		
		alert("El Número de Postes de Semáforo debe ser un Número");
	} else if ( id_tipo_sen == 9 && nro_caras == "" ) {
        alert("Debe indicar el Número de Caras de Semáforo de la Intesección");
	} else if ( id_tipo_sen == 9 && IsNumeric(nro_caras) == "" ) {		
		alert("El Número de Caras de Semáforo debe ser un Número");
	} else if ( id_tipo_sen == 9 && nro_contadores == "" ) {
        alert("Debe indicar el Número de Contadores de Semáforo de la Intesección");
	} else if ( id_tipo_sen == 9 && IsNumeric(nro_contadores) == "" ) {		
		alert("El Número de Contadores de Semáforo debe ser un Número");
	} else if ( id_tipo_sen == 9 && id_estad_con == "" ) {
        alert("Debe indicar el Estado de los Contadores de los Semáforos de la Intesección");
	} else if ( id_tipo_sen == 9 && id_model_con == "" ) {
        alert("Debe indicar el Modelo del Controlador de los Semáforos de la Intesección");
	} else if ( id_tipo_sen == 9 && nro_fases == "" ) {
        alert("Debe indicar el Número de Fases de los Semáforos de la Intesección");
	} else if ( id_tipo_sen == 9 && IsNumeric(nro_fases) == "" ) {		
		alert("El Número de Fases de Semáforo debe ser un Número");
	} else if ( id_tipo_sen == 9 && ciclo == "" ) {
        alert("Debe indicar el Ciclo de los Semáforos de la Intesección");
	} else if ( id_tipo_sen == 9 && IsNumeric(ciclo) == "" ) {		
		alert("El Ciclo de los Semáforo debe ser un Número en Segundos");
		
	} else if ( h_tipo_image_sen == "true" && h_desc_image_sen == "" ) {
        alert("Debe seleccionar la Imagen asociada a la Señal");
	} else if ( h_tipo_image_sen == "false" && h_desc_image_sen == "" ) {
        alert("Debe seleccionar la Imagen asociada a la Señal");
	
	} else if ( id_tipo_via == "" ) {
        alert("Debe indicar el Tipo de Vía donde se ubica la Señal");
	
	} else if ( id_estado == "" ) {
        alert("Debe indicar el Estado donde se ubica la Señal");
    } else if ( id_municipio == "" ) {
        alert("Debe indicar el Municipio donde se ubica la Señal");
	
    } else {
        if (window.confirm ("ATENCIÓN: ¿Esta seguro de que desea Registrar la Señal de Tránsito?")) {
            form.submit();
        } else {
            alert("El Registro de la Señal de Tránsito ha sido cancelado.!");
        }
    }
}


// =================================================================================================================
// ================================== Actualizar Coordenadas de una Señal ==========================================
// =================================================================================================================

function actualizar_senal(form) {
    
	var id_senal 			= document.getElementById("h_id_senal").value;
	
	var coord_x 			= document.getElementById("coord_x").value;
	var coord_y 			= document.getElementById("coord_y").value;
	 
    if ( id_senal == "" ) {
        alert("Debe consultar la Señal a Actualizar");
    } else if ( coord_x == "" && coord_y == "" ) {
        alert("Debe seleccionar una ubicación en el Mapa para obtener las nuevas Coordenadas X,Y");
    
    } else {
        if (window.confirm ("ATENCIÓN: ¿Esta seguro de que desea Actualizar las Coordenadas la Señal de Tránsito?")) {
            form.submit();
        } else {
            alert("La Actualización de las Coordenadas de la Señal de Tránsito ha sido cancelado.!");
        }
    }
}


// =================================================================================================================
// ============================================ Modificar una Señal ================================================
// =================================================================================================================

function modificar_senal(form) {
    
	var id_senal 			= document.getElementById("h_id_senal").value;
	
	var id_tipo_sen 		= document.getElementById("h_id_tipo_sen").value;
	var id_tipo_sop 		= document.getElementById("id_tipo_sop").value;
	
	var id_estad_sen 		= document.getElementById("id_estad_sen").value;
	var id_status_sen 		= document.getElementById("id_status_sen").value;
	
	var fecha_instalacion 	= document.getElementById("fecha_instalacion").value;
	var estandar 			= document.getElementById("estandar").value;
	
	if ( id_tipo_sen == 9 ) {
		var id_tipo_pos 	= document.getElementById("id_tipo_pos").value;
    	var nro_postes 		= document.getElementById("nro_postes").value;
		var nro_caras 		= document.getElementById("nro_caras").value;
    	var nro_contadores 	= document.getElementById("nro_contadores").value;
		var id_estad_con 	= document.getElementById("id_estad_con").value;
    	var id_model_con 	= document.getElementById("id_model_con").value;
		var nro_fases 		= document.getElementById("nro_fases").value;
    	var ciclo 			= document.getElementById("ciclo").value;
	}
	
	var id_tipo_via 		= document.getElementById("id_tipo_via").value;
	
	var id_estado 			= document.getElementById("id_estado").value;
	var id_municipio 		= document.getElementById("id_municipio").value;
        
    if ( id_senal == "" ) {
        alert("Debe consultar la Señal a Modificar");
    
	} else if ( (id_tipo_sen == 1 || id_tipo_sen == 2 || id_tipo_sen == 3 || id_tipo_sen == 5 || id_tipo_sen == 6 || id_tipo_sen == 7) && id_tipo_sop == "" ) {
        alert("Debe indicar el Tipo de Soporte de la Señal");
		
	} else if ( id_estad_sen == "" ) {
        alert("Debe indicar el Estado de la Señal");
    } else if ( id_status_sen == "" ) {
        alert("Debe indicar el Estatus de la Señal");
		
   	} else if ( fecha_instalacion == "" ) {
        alert("Debe indicar la Fecha de Instalación de la Señal");
	} else if ( estandar == "" ) {
        alert("Debe indicar si la Señal cumple con los Estándares del Manual Venezolano de Señalización");
		
	} else if ( id_tipo_sen == 9 && id_tipo_pos == "" ) {
        alert("Debe indicar el Tipo de Poste de un Semáforo");
	} else if ( id_tipo_sen == 9 && nro_postes == "" ) {
        alert("Debe indicar el Número de Postes de Semáforo de la Intesección");
	} else if ( id_tipo_sen == 9 && IsNumeric(nro_postes) == "" ) {		
		alert("El Número de Postes de Semáforo debe ser un Número");
	} else if ( id_tipo_sen == 9 && nro_caras == "" ) {
        alert("Debe indicar el Número de Caras de Semáforo de la Intesección");
	} else if ( id_tipo_sen == 9 && IsNumeric(nro_caras) == "" ) {		
		alert("El Número de Caras de Semáforo debe ser un Número");
	} else if ( id_tipo_sen == 9 && nro_contadores == "" ) {
        alert("Debe indicar el Número de Contadores de Semáforo de la Intesección");
	} else if ( id_tipo_sen == 9 && IsNumeric(nro_contadores) == "" ) {		
		alert("El Número de Contadores de Semáforo debe ser un Número");
	} else if ( id_tipo_sen == 9 && id_estad_con == "" ) {
        alert("Debe indicar el Estado de los Contadores de los Semáforos de la Intesección");
	} else if ( id_tipo_sen == 9 && nro_contadores == 0 && id_estad_con != 3 ) {
        alert("Existe una Inconsistencia en el Estado de los Contadores. El Estado debe ser NO APLICA");
	} else if ( id_tipo_sen == 9 && id_model_con == "" ) {
        alert("Debe indicar el Modelo del Controlador de los Semáforos de la Intesección");
	} else if ( id_tipo_sen == 9 && nro_fases == "" ) {
        alert("Debe indicar el Número de Fases de los Semáforos de la Intesección");
	} else if ( id_tipo_sen == 9 && IsNumeric(nro_fases) == "" ) {		
		alert("El Número de Fases de Semáforo debe ser un Número");
	} else if ( id_tipo_sen == 9 && ciclo == "" ) {
        alert("Debe indicar el Ciclo de los Semáforos de la Intesección");
	} else if ( id_tipo_sen == 9 && IsNumeric(ciclo) == "" ) {		
		alert("El Ciclo de los Semáforo debe ser un Número en Segundos");
	
	} else if ( id_tipo_via == "" ) {
        alert("Debe indicar el Tipo de Vía donde se ubica la Señal");
		
	} else if ( id_estado == "" ) {
        alert("Debe indicar el Estado donde se ubica la Señal");
    } else if ( id_municipio == "" ) {
        alert("Debe indicar el Municipio donde se ubica la Señal");
	
    } else {
        if (window.confirm ("ATENCIÓN: ¿Esta seguro de que desea Modificar la Señal de Tránsito?")) {
            form.submit();
        } else {
            alert("La Modificación de la Señal de Tránsito ha sido cancelado.!");
        }
    }
}


// =================================================================================================================
// ========================================= Adjuntar Fotos de una Señal ===========================================
// =================================================================================================================

function adjuntar_fotos_senal(form) {
    
	var id_senal 			= document.getElementById("h_id_senal").value;
	
    if ( id_senal == "" ) {
        alert("Debe indicar la Señal de Tránsito sobre la que desea Adjuntar las Fotos");
    
    } else {
        if (window.confirm ("ATENCIÓN: ¿Esta seguro de que desea Adjuntar las Fotos de la Señal de Tránsito?")) {
            form.submit();
        } else {
            alert("La Operación de Adjuntar Fotos de la Señal de Tránsito ha sido cancelada.!");
        }
    }
}


// =================================================================================================================
// ========================================= Generar Resumen de una Señal ===========================================
// =================================================================================================================

function resumen_senal(form) {
    
	var id_senal 			= document.getElementById("id_senal").value;
	
    if ( id_senal == "" ) {
        alert("Debe indicar la Señal de Tránsito sobre la que desea Generar el Resumen");
    
    } else {
        if (window.confirm ("ATENCIÓN: ¿Esta seguro de que desea Generar el Resumen de la Señal de Tránsito?")) {
            form.submit();
        } else {
            alert("La Operación de Generar Resumen de la Señal de Tránsito ha sido cancelada.!");
        }
    }
}


// =================================================================================================================
// ================================== Limpia los campos de la consulta de una SEÑAL  ===============================
// =================================================================================================================

function limpiar_consulta_senal() {
    
	document.getElementById("id_senal").value 		= "";
	document.getElementById("h_id_senal").value 	= "";
}